An integrated virtual machine is a combined operation of a virtualization management software and a storage software on a same physical server, where the storage software utilizes the disk of the server to build a distributed storage system that provides storage services for the virtualization management software. The integrated virtual machine cluster shown in FIG. 1 has a total of four nodes, namely A, B, C and D, respectively. To start a virtual machine, a user needs to select a node to run the virtual machine. The load balance may be achieved mainly based on the processing capability of the CPU, that is, a node may be selected based on the CPU frequency and memory configuration required by a virtual machine. For example, if the CPU frequency and memory configuration of Node B meet the requirements for running a virtual machine VM2, Node B may be selected for running the virtual machine VM2.
However, it is possible that Node B does not have a copy of the virtual machine VM2, and copies of the virtual machine VM2 may be located at Node C and Node D. In this case, the disk reading and writing of the virtual machine VM2 should be made by reading and writing the copies at Node C or Node D across a network. The disk reading and writing (or input and output, IO) across a network may seriously affect the running speed of a virtual machine. If the network broadband capability (for example, 1 Gbps network) is lower than the disk IO capability (for example, 6 Gbps SSD), or the network is at a congestion state, the disk IO across the network may greatly decrease the running speed of a virtual machine.
Two methods are often used to solve this issue. One method is to increase the bandwidth, for example, using a 10 Gbps fiber-optic network. The other method is to use special technology networks, such as RDMA and InfiniBand technologies. However, both methods have the disadvantage of high costs.
The disclosed methods and systems are directed to solve one or more problems set forth above and other problems in the art.